﻿#ifndef IMAGESCALER_H
#define IMAGESCALER_H

#include "stdint.h"
#include "Config.h"

class ImageScaler
{
public:
    ImageScaler();
    ~ImageScaler();
    int Init(uint32_t src_width, uint32_t src_height, int src_pix_fmt,uint32_t dst_width, uint32_t dst_height, int dst_pix_fmt);       //创建软件缩放器SWS
    void DeInit();          //释放SWS
    int Scale(const AVFrame *src_frame, AVFrame *dst_frame);
    int Scale2(const VideoFrame *src_frame, VideoFrame *dst_frame);
    int Scale3(const Frame *src_frame, VideoFrame *dst_frame);
private:
    SwsContext*	sws_ctx_;                           //SWS对象
    AVPixelFormat src_pix_fmt_;                     //源像素格式
    AVPixelFormat dst_pix_fmt_;                     //目标像素格式
    int src_width_, src_height_;                    //源图像宽高
    int dst_width_, dst_height_;                    //目标图像宽高
};

#endif // IMAGESCALER_H
